TPTP Problem File: ITP075^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP075^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer HF problem prob_754__5337380_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : HF/prob_754__5337380_1 [Des21]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax   : Number of formulae    :  364 ( 179 unt;  54 typ;   0 def)
%            Number of atoms       :  663 ( 295 equ;   0 cnn)
%            Maximal formula atoms :    4 (   2 avg)
%            Number of connectives : 2460 (  83   ~;   5   |;  42   &;2097   @)
%                                         (   0 <=>; 233  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   5 avg)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :  175 ( 175   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   54 (  51 usr;   4 con; 0-4 aty)
%            Number of variables   :  835 ( 114   ^; 661   !;  29   ?; 835   :)
%                                         (  31  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:06.328
%------------------------------------------------------------------------------
% Could-be-implicit typings (4)
thf(ty_t_HF__Mirabelle__fsbjehakzm_Ohf,type,
    hF_Mirabelle_hf: $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_t_Int_Oint,type,
    int: $tType ).

% Explicit typings (50)
thf(sy_cl_Lattices_Obounded__lattice,type,
    bounded_lattice: 
      !>[A: $tType] : $o ).

thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ozero,type,
    zero: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ominus,type,
    minus: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Obot,type,
    bot: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ogroup__add,type,
    group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Olattice,type,
    lattice: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Osemiring__1,type,
    semiring_1: 
      !>[A: $tType] : $o ).

thf(sy_cl_Nat_Osemiring__char__0,type,
    semiring_char_0: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder__bot,type,
    order_bot: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__diff,type,
    comm_monoid_diff: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Osemilattice__inf,type,
    semilattice_inf: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__group__add,type,
    ordered_ab_group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Lattices_Obounded__lattice__bot,type,
    bounded_lattice_bot: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
    cancel1352612707id_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
    cancel146912293up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
    linord1659791738miring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
    canoni770627133id_add: 
      !>[A: $tType] : $o ).

thf(sy_c_Groups_Ominus__class_Ominus,type,
    minus_minus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Ozero__class_Ozero,type,
    zero_zero: 
      !>[A: $tType] : A ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHBall,type,
    hF_Mirabelle_HBall: hF_Mirabelle_hf > ( hF_Mirabelle_hf > $o ) > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHBex,type,
    hF_Mirabelle_HBex: hF_Mirabelle_hf > ( hF_Mirabelle_hf > $o ) > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHCollect,type,
    hF_Mir1687042746ollect: ( hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHF,type,
    hF_Mirabelle_HF: ( set @ hF_Mirabelle_hf ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHInter,type,
    hF_Mirabelle_HInter: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OHUnion,type,
    hF_Mirabelle_HUnion: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OPrimReplace,type,
    hF_Mir569462966eplace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_ORepFun,type,
    hF_Mirabelle_RepFun: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_OReplace,type,
    hF_Mirabelle_Replace: hF_Mirabelle_hf > ( hF_Mirabelle_hf > hF_Mirabelle_hf > $o ) > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohcard,type,
    hF_Mirabelle_hcard: hF_Mirabelle_hf > nat ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohf_OAbs__hf,type,
    hF_Mirabelle_Abs_hf: nat > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfset,type,
    hF_Mirabelle_hfset: hF_Mirabelle_hf > ( set @ hF_Mirabelle_hf ) ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohfst,type,
    hF_Mirabelle_hfst: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohinsert,type,
    hF_Mirabelle_hinsert: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohmem,type,
    hF_Mirabelle_hmem: hF_Mirabelle_hf > hF_Mirabelle_hf > $o ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohpair,type,
    hF_Mirabelle_hpair: hF_Mirabelle_hf > hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsnd,type,
    hF_Mirabelle_hsnd: hF_Mirabelle_hf > hF_Mirabelle_hf ).

thf(sy_c_HF__Mirabelle__fsbjehakzm_Ohsplit,type,
    hF_Mirabelle_hsplit: 
      !>[A: $tType] : ( ( hF_Mirabelle_hf > hF_Mirabelle_hf > A ) > hF_Mirabelle_hf > A ) ).

thf(sy_c_HOL_OThe,type,
    the: 
      !>[A: $tType] : ( ( A > $o ) > A ) ).

thf(sy_c_If,type,
    if: 
      !>[A: $tType] : ( $o > A > A > A ) ).

thf(sy_c_Lattices_Oinf__class_Oinf,type,
    inf_inf: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
    semiring_1_of_nat: 
      !>[A: $tType] : ( nat > A ) ).

thf(sy_c_Orderings_Obot__class_Obot,type,
    bot_bot: 
      !>[A: $tType] : A ).

thf(sy_c_Orderings_Oord_OLeast,type,
    least: 
      !>[A: $tType] : ( ( A > A > $o ) > ( A > $o ) > A ) ).

thf(sy_c_Orderings_Oord__class_Oless,type,
    ord_less: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Set_Ois__empty,type,
    is_empty: 
      !>[A: $tType] : ( ( set @ A ) > $o ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_A,type,
    a: hF_Mirabelle_hf ).

thf(sy_v_P,type,
    p: $o ).

% Relevant facts (254)
thf(fact_0_hf__equalityI,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ! [X: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X @ A2 )
          = ( hF_Mirabelle_hmem @ X @ B ) )
     => ( A2 = B ) ) ).

% hf_equalityI
thf(fact_1_hbexI,axiom,
    ! [P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( P @ X2 )
     => ( ( hF_Mirabelle_hmem @ X2 @ A3 )
       => ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).

% hbexI
thf(fact_2_hbexE,axiom,
    ! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_HBex @ A3 @ P )
     => ~ ! [X: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X @ A3 )
           => ~ ( P @ X ) ) ) ).

% hbexE
thf(fact_3_hf__ext,axiom,
    ( ( ^ [Y: hF_Mirabelle_hf,Z: hF_Mirabelle_hf] : Y = Z )
    = ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
        ! [X3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X3 @ A4 )
          = ( hF_Mirabelle_hmem @ X3 @ B2 ) ) ) ) ).

% hf_ext
thf(fact_4_hmem__ne,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X2 @ Y2 )
     => ( X2 != Y2 ) ) ).

% hmem_ne
thf(fact_5_HBex__def,axiom,
    ( hF_Mirabelle_HBex
    = ( ^ [A5: hF_Mirabelle_hf,P2: hF_Mirabelle_hf > $o] :
        ? [X3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X3 @ A5 )
          & ( P2 @ X3 ) ) ) ) ).

% HBex_def
thf(fact_6_hbex__cong,axiom,
    ! [A3: hF_Mirabelle_hf,A6: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,P3: hF_Mirabelle_hf > $o] :
      ( ( A3 = A6 )
     => ( ! [X: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X @ A6 )
           => ( ( P @ X )
              = ( P3 @ X ) ) )
       => ( ( hF_Mirabelle_HBex @ A3 @ P )
          = ( hF_Mirabelle_HBex @ A6 @ P3 ) ) ) ) ).

% hbex_cong
thf(fact_7_rev__hbexI,axiom,
    ! [X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_hmem @ X2 @ A3 )
     => ( ( P @ X2 )
       => ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).

% rev_hbexI
thf(fact_8_replacement,axiom,
    ! [X2: hF_Mirabelle_hf,R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ U @ X2 )
         => ( ( R @ U @ V )
           => ( ( R @ U @ V2 )
             => ( V2 = V ) ) ) )
     => ? [Z2: hF_Mirabelle_hf] :
        ! [V3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ V3 @ Z2 )
          = ( ? [U2: hF_Mirabelle_hf] :
                ( ( hF_Mirabelle_hmem @ U2 @ X2 )
                & ( R @ U2 @ V3 ) ) ) ) ) ).

% replacement
thf(fact_9_binary__union,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
    ? [Z2: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z2 )
      = ( ( hF_Mirabelle_hmem @ U3 @ X2 )
        | ( hF_Mirabelle_hmem @ U3 @ Y2 ) ) ) ).

% binary_union
thf(fact_10_hmem__not__sym,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ~ ( ( hF_Mirabelle_hmem @ X2 @ Y2 )
        & ( hF_Mirabelle_hmem @ Y2 @ X2 ) ) ).

% hmem_not_sym
thf(fact_11_union__of__set,axiom,
    ! [X2: hF_Mirabelle_hf] :
    ? [Z2: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z2 )
      = ( ? [Y3: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ Y3 @ X2 )
            & ( hF_Mirabelle_hmem @ U3 @ Y3 ) ) ) ) ).

% union_of_set
thf(fact_12_comprehension,axiom,
    ! [X2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
    ? [Z2: hF_Mirabelle_hf] :
    ! [U3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U3 @ Z2 )
      = ( ( hF_Mirabelle_hmem @ U3 @ X2 )
        & ( P @ U3 ) ) ) ).

% comprehension
thf(fact_13_hmem__not__refl,axiom,
    ! [X2: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ X2 @ X2 ) ).

% hmem_not_refl
thf(fact_14_replacement__fun,axiom,
    ! [X2: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
    ? [Z2: hF_Mirabelle_hf] :
    ! [V3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ V3 @ Z2 )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ X2 )
            & ( V3
              = ( F @ U2 ) ) ) ) ) ).

% replacement_fun
thf(fact_15_HF__Mirabelle__fsbjehakzm_ObexCI,axiom,
    ! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A2: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_HBall @ A3
          @ ^ [X3: hF_Mirabelle_hf] :
              ~ ( P @ X3 ) )
       => ( P @ A2 ) )
     => ( ( hF_Mirabelle_hmem @ A2 @ A3 )
       => ( hF_Mirabelle_HBex @ A3 @ P ) ) ) ).

% HF_Mirabelle_fsbjehakzm.bexCI
thf(fact_16_hballI,axiom,
    ! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
      ( ! [X: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X @ A3 )
         => ( P @ X ) )
     => ( hF_Mirabelle_HBall @ A3 @ P ) ) ).

% hballI
thf(fact_17_hball__triv,axiom,
    ! [A3: hF_Mirabelle_hf,P: $o] :
      ( ( hF_Mirabelle_HBall @ A3
        @ ^ [X3: hF_Mirabelle_hf] : P )
      = ( ? [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ A3 )
       => P ) ) ).

% hball_triv
thf(fact_18_PrimReplace__iff,axiom,
    ! [A3: hF_Mirabelle_hf,R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,V4: hF_Mirabelle_hf] :
      ( ! [U: hF_Mirabelle_hf,V: hF_Mirabelle_hf,V2: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ U @ A3 )
         => ( ( R @ U @ V )
           => ( ( R @ U @ V2 )
             => ( V2 = V ) ) ) )
     => ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mir569462966eplace @ A3 @ R ) )
        = ( ? [U2: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ U2 @ A3 )
              & ( R @ U2 @ V4 ) ) ) ) ) ).

% PrimReplace_iff
thf(fact_19_HCollect__iff,axiom,
    ! [X2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mir1687042746ollect @ P @ A3 ) )
      = ( ( P @ X2 )
        & ( hF_Mirabelle_hmem @ X2 @ A3 ) ) ) ).

% HCollect_iff
thf(fact_20_Replace__iff,axiom,
    ! [V4: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_Replace @ A3 @ R ) )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ A3 )
            & ( R @ U2 @ V4 )
            & ! [Y3: hF_Mirabelle_hf] :
                ( ( R @ U2 @ Y3 )
               => ( Y3 = V4 ) ) ) ) ) ).

% Replace_iff
thf(fact_21_HUnion__iff,axiom,
    ! [X2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mirabelle_HUnion @ A3 ) )
      = ( ? [Y3: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ Y3 @ A3 )
            & ( hF_Mirabelle_hmem @ X2 @ Y3 ) ) ) ) ).

% HUnion_iff
thf(fact_22_hballE,axiom,
    ! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HBall @ A3 @ P )
     => ( ~ ( P @ X2 )
       => ~ ( hF_Mirabelle_hmem @ X2 @ A3 ) ) ) ).

% hballE
thf(fact_23_hbspec,axiom,
    ! [A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HBall @ A3 @ P )
     => ( ( hF_Mirabelle_hmem @ X2 @ A3 )
       => ( P @ X2 ) ) ) ).

% hbspec
thf(fact_24_HCollectE,axiom,
    ! [A2: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ A2 @ ( hF_Mir1687042746ollect @ P @ A3 ) )
     => ~ ( ( hF_Mirabelle_hmem @ A2 @ A3 )
         => ~ ( P @ A2 ) ) ) ).

% HCollectE
thf(fact_25_HCollectI,axiom,
    ! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_hmem @ A2 @ A3 )
     => ( ( P @ A2 )
       => ( hF_Mirabelle_hmem @ A2 @ ( hF_Mir1687042746ollect @ P @ A3 ) ) ) ) ).

% HCollectI
thf(fact_26_hball__cong,axiom,
    ! [A3: hF_Mirabelle_hf,A6: hF_Mirabelle_hf,P: hF_Mirabelle_hf > $o,P3: hF_Mirabelle_hf > $o] :
      ( ( A3 = A6 )
     => ( ! [X: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X @ A6 )
           => ( ( P @ X )
              = ( P3 @ X ) ) )
       => ( ( hF_Mirabelle_HBall @ A3 @ P )
          = ( hF_Mirabelle_HBall @ A6 @ P3 ) ) ) ) ).

% hball_cong
thf(fact_27_hmem__Sup__ne,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X2 @ Y2 )
     => ( ( hF_Mirabelle_HUnion @ X2 )
       != Y2 ) ) ).

% hmem_Sup_ne
thf(fact_28_Replace__cong,axiom,
    ! [A3: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,P: hF_Mirabelle_hf > hF_Mirabelle_hf > $o,Q: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( A3 = B3 )
     => ( ! [X: hF_Mirabelle_hf,Y4: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X @ B3 )
           => ( ( P @ X @ Y4 )
              = ( Q @ X @ Y4 ) ) )
       => ( ( hF_Mirabelle_Replace @ A3 @ P )
          = ( hF_Mirabelle_Replace @ B3 @ Q ) ) ) ) ).

% Replace_cong
thf(fact_29_HBall__def,axiom,
    ( hF_Mirabelle_HBall
    = ( ^ [A5: hF_Mirabelle_hf,P2: hF_Mirabelle_hf > $o] :
        ! [X3: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ X3 @ A5 )
         => ( P2 @ X3 ) ) ) ) ).

% HBall_def
thf(fact_30_Replace__def,axiom,
    ( hF_Mirabelle_Replace
    = ( ^ [A5: hF_Mirabelle_hf,R2: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
          ( hF_Mir569462966eplace @ A5
          @ ^ [X3: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
              ( ? [Z3: hF_Mirabelle_hf] :
                  ( ( R2 @ X3 @ Z3 )
                  & ! [Aa: hF_Mirabelle_hf] :
                      ( ( R2 @ X3 @ Aa )
                     => ( Aa = Z3 ) ) )
              & ( R2 @ X3 @ Y3 ) ) ) ) ) ).

% Replace_def
thf(fact_31_RepFun__def,axiom,
    ( hF_Mirabelle_RepFun
    = ( ^ [A5: hF_Mirabelle_hf,F2: hF_Mirabelle_hf > hF_Mirabelle_hf] :
          ( hF_Mirabelle_Replace @ A5
          @ ^ [X3: hF_Mirabelle_hf,Y3: hF_Mirabelle_hf] :
              ( Y3
              = ( F2 @ X3 ) ) ) ) ) ).

% RepFun_def
thf(fact_32_minus__hf__def,axiom,
    ( ( minus_minus @ hF_Mirabelle_hf )
    = ( ^ [A5: hF_Mirabelle_hf,B4: hF_Mirabelle_hf] :
          ( hF_Mir1687042746ollect
          @ ^ [X3: hF_Mirabelle_hf] :
              ~ ( hF_Mirabelle_hmem @ X3 @ B4 )
          @ A5 ) ) ) ).

% minus_hf_def
thf(fact_33_inf__hf__def,axiom,
    ( ( inf_inf @ hF_Mirabelle_hf )
    = ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] :
          ( hF_Mir1687042746ollect
          @ ^ [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ B2 )
          @ A4 ) ) ) ).

% inf_hf_def
thf(fact_34_HInter__def,axiom,
    ( hF_Mirabelle_HInter
    = ( ^ [A5: hF_Mirabelle_hf] :
          ( hF_Mir1687042746ollect
          @ ^ [X3: hF_Mirabelle_hf] :
            ! [Y3: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ Y3 @ A5 )
             => ( hF_Mirabelle_hmem @ X3 @ Y3 ) )
          @ ( hF_Mirabelle_HUnion @ A5 ) ) ) ) ).

% HInter_def
thf(fact_35_RepFun__iff,axiom,
    ! [V4: hF_Mirabelle_hf,A3: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ V4 @ ( hF_Mirabelle_RepFun @ A3 @ F ) )
      = ( ? [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ A3 )
            & ( V4
              = ( F @ U2 ) ) ) ) ) ).

% RepFun_iff
thf(fact_36_HCollect__hempty,axiom,
    ! [P: hF_Mirabelle_hf > $o] :
      ( ( hF_Mir1687042746ollect @ P @ ( zero_zero @ hF_Mirabelle_hf ) )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HCollect_hempty
thf(fact_37_Replace__0,axiom,
    ! [R: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
      ( ( hF_Mirabelle_Replace @ ( zero_zero @ hF_Mirabelle_hf ) @ R )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% Replace_0
thf(fact_38_hmem__def,axiom,
    ( hF_Mirabelle_hmem
    = ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( member @ hF_Mirabelle_hf @ A4 @ ( hF_Mirabelle_hfset @ B2 ) ) ) ) ).

% hmem_def
thf(fact_39_triv__RepFun,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ A3
        @ ^ [X3: hF_Mirabelle_hf] : X3 )
      = A3 ) ).

% triv_RepFun
thf(fact_40_hinter__iff,axiom,
    ! [U4: hF_Mirabelle_hf,X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U4 @ ( inf_inf @ hF_Mirabelle_hf @ X2 @ Y2 ) )
      = ( ( hF_Mirabelle_hmem @ U4 @ X2 )
        & ( hF_Mirabelle_hmem @ U4 @ Y2 ) ) ) ).

% hinter_iff
thf(fact_41_hdiff__iff,axiom,
    ! [U4: hF_Mirabelle_hf,X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ U4 @ ( minus_minus @ hF_Mirabelle_hf @ X2 @ Y2 ) )
      = ( ( hF_Mirabelle_hmem @ U4 @ X2 )
        & ~ ( hF_Mirabelle_hmem @ U4 @ Y2 ) ) ) ).

% hdiff_iff
thf(fact_42_hinter__hempty__right,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ( ( inf_inf @ hF_Mirabelle_hf @ A3 @ ( zero_zero @ hF_Mirabelle_hf ) )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinter_hempty_right
thf(fact_43_hinter__hempty__left,axiom,
    ! [A3: hF_Mirabelle_hf] :
      ( ( inf_inf @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ A3 )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinter_hempty_left
thf(fact_44_zero__hdiff,axiom,
    ! [X2: hF_Mirabelle_hf] :
      ( ( minus_minus @ hF_Mirabelle_hf @ ( zero_zero @ hF_Mirabelle_hf ) @ X2 )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% zero_hdiff
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( member @ A @ A2 @ ( collect @ A @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( collect @ A
        @ ^ [X3: A] : ( member @ A @ X3 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X: A] :
          ( ( P @ X )
          = ( Q @ X ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B5: $tType,A: $tType,F: A > B5,G: A > B5] :
      ( ! [X: A] :
          ( ( F @ X )
          = ( G @ X ) )
     => ( F = G ) ) ).

% ext
thf(fact_49_hdiff__zero,axiom,
    ! [X2: hF_Mirabelle_hf] :
      ( ( minus_minus @ hF_Mirabelle_hf @ X2 @ ( zero_zero @ hF_Mirabelle_hf ) )
      = X2 ) ).

% hdiff_zero
thf(fact_50_RepFun__0,axiom,
    ! [F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ ( zero_zero @ hF_Mirabelle_hf ) @ F )
      = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% RepFun_0
thf(fact_51_HUnion__hempty,axiom,
    ( ( hF_Mirabelle_HUnion @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HUnion_hempty
thf(fact_52_HInter__hempty,axiom,
    ( ( hF_Mirabelle_HInter @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% HInter_hempty
thf(fact_53_HInter__iff,axiom,
    ! [A3: hF_Mirabelle_hf,X2: hF_Mirabelle_hf] :
      ( ( A3
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ( hF_Mirabelle_hmem @ X2 @ ( hF_Mirabelle_HInter @ A3 ) )
        = ( ! [Y3: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ Y3 @ A3 )
             => ( hF_Mirabelle_hmem @ X2 @ Y3 ) ) ) ) ) ).

% HInter_iff
thf(fact_54_foundation,axiom,
    ! [Z4: hF_Mirabelle_hf] :
      ( ( Z4
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ? [W: hF_Mirabelle_hf] :
          ( ( hF_Mirabelle_hmem @ W @ Z4 )
          & ( ( inf_inf @ hF_Mirabelle_hf @ W @ Z4 )
            = ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).

% foundation
thf(fact_55_hemptyE,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hemptyE
thf(fact_56_hempty__iff,axiom,
    ! [Z4: hF_Mirabelle_hf] :
      ( ( Z4
        = ( zero_zero @ hF_Mirabelle_hf ) )
      = ( ! [X3: hF_Mirabelle_hf] :
            ~ ( hF_Mirabelle_hmem @ X3 @ Z4 ) ) ) ).

% hempty_iff
thf(fact_57_hmem__hempty,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hmem_hempty
thf(fact_58_RepFun__cong,axiom,
    ! [A3: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf,G: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( A3 = B3 )
     => ( ! [X: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ X @ B3 )
           => ( ( F @ X )
              = ( G @ X ) ) )
       => ( ( hF_Mirabelle_RepFun @ A3 @ F )
          = ( hF_Mirabelle_RepFun @ B3 @ G ) ) ) ) ).

% RepFun_cong
thf(fact_59_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [A2: A] :
          ( ( minus_minus @ A @ A2 @ A2 )
          = ( zero_zero @ A ) ) ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_60_diff__zero,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [A2: A] :
          ( ( minus_minus @ A @ A2 @ ( zero_zero @ A ) )
          = A2 ) ) ).

% diff_zero
thf(fact_61_zero__diff,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_diff @ A )
     => ! [A2: A] :
          ( ( minus_minus @ A @ ( zero_zero @ A ) @ A2 )
          = ( zero_zero @ A ) ) ) ).

% zero_diff
thf(fact_62_diff__0__right,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A] :
          ( ( minus_minus @ A @ A2 @ ( zero_zero @ A ) )
          = A2 ) ) ).

% diff_0_right
thf(fact_63_diff__self,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A] :
          ( ( minus_minus @ A @ A2 @ A2 )
          = ( zero_zero @ A ) ) ) ).

% diff_self
thf(fact_64_inf__right__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X2: A,Y2: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Y2 )
          = ( inf_inf @ A @ X2 @ Y2 ) ) ) ).

% inf_right_idem
thf(fact_65_inf_Oright__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,B: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B ) @ B )
          = ( inf_inf @ A @ A2 @ B ) ) ) ).

% inf.right_idem
thf(fact_66_inf__left__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X2: A,Y2: A] :
          ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y2 ) )
          = ( inf_inf @ A @ X2 @ Y2 ) ) ) ).

% inf_left_idem
thf(fact_67_minus__apply,axiom,
    ! [B5: $tType,A: $tType] :
      ( ( minus @ B5 )
     => ( ( minus_minus @ ( A > B5 ) )
        = ( ^ [A5: A > B5,B4: A > B5,X3: A] : ( minus_minus @ B5 @ ( A5 @ X3 ) @ ( B4 @ X3 ) ) ) ) ) ).

% minus_apply
thf(fact_68_inf__apply,axiom,
    ! [B5: $tType,A: $tType] :
      ( ( semilattice_inf @ B5 )
     => ( ( inf_inf @ ( A > B5 ) )
        = ( ^ [F2: A > B5,G2: A > B5,X3: A] : ( inf_inf @ B5 @ ( F2 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).

% inf_apply
thf(fact_69_inf_Oidem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A] :
          ( ( inf_inf @ A @ A2 @ A2 )
          = A2 ) ) ).

% inf.idem
thf(fact_70_inf__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X2: A] :
          ( ( inf_inf @ A @ X2 @ X2 )
          = X2 ) ) ).

% inf_idem
thf(fact_71_inf_Oleft__idem,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,B: A] :
          ( ( inf_inf @ A @ A2 @ ( inf_inf @ A @ A2 @ B ) )
          = ( inf_inf @ A @ A2 @ B ) ) ) ).

% inf.left_idem
thf(fact_72_hfset__hdiff,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hfset @ ( minus_minus @ hF_Mirabelle_hf @ X2 @ Y2 ) )
      = ( minus_minus @ ( set @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hfset @ X2 ) @ ( hF_Mirabelle_hfset @ Y2 ) ) ) ).

% hfset_hdiff
thf(fact_73_zero__reorient,axiom,
    ! [A: $tType] :
      ( ( zero @ A )
     => ! [X2: A] :
          ( ( ( zero_zero @ A )
            = X2 )
          = ( X2
            = ( zero_zero @ A ) ) ) ) ).

% zero_reorient
thf(fact_74_fun__diff__def,axiom,
    ! [B5: $tType,A: $tType] :
      ( ( minus @ B5 )
     => ( ( minus_minus @ ( A > B5 ) )
        = ( ^ [A5: A > B5,B4: A > B5,X3: A] : ( minus_minus @ B5 @ ( A5 @ X3 ) @ ( B4 @ X3 ) ) ) ) ) ).

% fun_diff_def
thf(fact_75_diff__eq__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B: A,C: A,D: A] :
          ( ( ( minus_minus @ A @ A2 @ B )
            = ( minus_minus @ A @ C @ D ) )
         => ( ( A2 = B )
            = ( C = D ) ) ) ) ).

% diff_eq_diff_eq
thf(fact_76_diff__right__commute,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,C: A,B: A] :
          ( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C ) @ B )
          = ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B ) @ C ) ) ) ).

% diff_right_commute
thf(fact_77_inf__sup__aci_I4_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X2: A,Y2: A] :
          ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ X2 @ Y2 ) )
          = ( inf_inf @ A @ X2 @ Y2 ) ) ) ).

% inf_sup_aci(4)
thf(fact_78_inf__sup__aci_I3_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X2: A,Y2: A,Z4: A] :
          ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) )
          = ( inf_inf @ A @ Y2 @ ( inf_inf @ A @ X2 @ Z4 ) ) ) ) ).

% inf_sup_aci(3)
thf(fact_79_inf__sup__aci_I2_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X2: A,Y2: A,Z4: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Z4 )
          = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) ) ) ) ).

% inf_sup_aci(2)
thf(fact_80_inf__sup__aci_I1_J,axiom,
    ! [A: $tType] :
      ( ( lattice @ A )
     => ( ( inf_inf @ A )
        = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).

% inf_sup_aci(1)
thf(fact_81_inf__fun__def,axiom,
    ! [B5: $tType,A: $tType] :
      ( ( semilattice_inf @ B5 )
     => ( ( inf_inf @ ( A > B5 ) )
        = ( ^ [F2: A > B5,G2: A > B5,X3: A] : ( inf_inf @ B5 @ ( F2 @ X3 ) @ ( G2 @ X3 ) ) ) ) ) ).

% inf_fun_def
thf(fact_82_boolean__algebra__cancel_Oinf1,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A,K: A,A2: A,B: A] :
          ( ( A3
            = ( inf_inf @ A @ K @ A2 ) )
         => ( ( inf_inf @ A @ A3 @ B )
            = ( inf_inf @ A @ K @ ( inf_inf @ A @ A2 @ B ) ) ) ) ) ).

% boolean_algebra_cancel.inf1
thf(fact_83_boolean__algebra__cancel_Oinf2,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B3: A,K: A,B: A,A2: A] :
          ( ( B3
            = ( inf_inf @ A @ K @ B ) )
         => ( ( inf_inf @ A @ A2 @ B3 )
            = ( inf_inf @ A @ K @ ( inf_inf @ A @ A2 @ B ) ) ) ) ) ).

% boolean_algebra_cancel.inf2
thf(fact_84_inf_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,B: A,C: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ A2 @ B ) @ C )
          = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B @ C ) ) ) ) ).

% inf.assoc
thf(fact_85_inf__assoc,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X2: A,Y2: A,Z4: A] :
          ( ( inf_inf @ A @ ( inf_inf @ A @ X2 @ Y2 ) @ Z4 )
          = ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) ) ) ) ).

% inf_assoc
thf(fact_86_inf_Ocommute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ( ( inf_inf @ A )
        = ( ^ [A4: A,B2: A] : ( inf_inf @ A @ B2 @ A4 ) ) ) ) ).

% inf.commute
thf(fact_87_inf__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ( ( inf_inf @ A )
        = ( ^ [X3: A,Y3: A] : ( inf_inf @ A @ Y3 @ X3 ) ) ) ) ).

% inf_commute
thf(fact_88_inf_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B: A,A2: A,C: A] :
          ( ( inf_inf @ A @ B @ ( inf_inf @ A @ A2 @ C ) )
          = ( inf_inf @ A @ A2 @ ( inf_inf @ A @ B @ C ) ) ) ) ).

% inf.left_commute
thf(fact_89_inf__left__commute,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [X2: A,Y2: A,Z4: A] :
          ( ( inf_inf @ A @ X2 @ ( inf_inf @ A @ Y2 @ Z4 ) )
          = ( inf_inf @ A @ Y2 @ ( inf_inf @ A @ X2 @ Z4 ) ) ) ) ).

% inf_left_commute
thf(fact_90_eq__iff__diff__eq__0,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ( ( ^ [Y: A,Z: A] : Y = Z )
        = ( ^ [A4: A,B2: A] :
              ( ( minus_minus @ A @ A4 @ B2 )
              = ( zero_zero @ A ) ) ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_91_HInter__hinsert,axiom,
    ! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf] :
      ( ( A3
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ( hF_Mirabelle_HInter @ ( hF_Mirabelle_hinsert @ A2 @ A3 ) )
        = ( inf_inf @ hF_Mirabelle_hf @ A2 @ ( hF_Mirabelle_HInter @ A3 ) ) ) ) ).

% HInter_hinsert
thf(fact_92_fun__cong__unused__0,axiom,
    ! [A: $tType,B5: $tType,C2: $tType] :
      ( ( zero @ B5 )
     => ! [F: ( A > B5 ) > C2,G: C2] :
          ( ( F
            = ( ^ [X3: A > B5] : G ) )
         => ( ( F
              @ ^ [X3: A] : ( zero_zero @ B5 ) )
            = G ) ) ) ).

% fun_cong_unused_0
thf(fact_93_HCollect__def,axiom,
    ( hF_Mir1687042746ollect
    = ( ^ [P2: hF_Mirabelle_hf > $o,A5: hF_Mirabelle_hf] :
          ( the @ hF_Mirabelle_hf
          @ ^ [Z3: hF_Mirabelle_hf] :
            ! [U2: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ U2 @ Z3 )
              = ( ( P2 @ U2 )
                & ( hF_Mirabelle_hmem @ U2 @ A5 ) ) ) ) ) ) ).

% HCollect_def
thf(fact_94_HF__hfset,axiom,
    ! [A2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_HF @ ( hF_Mirabelle_hfset @ A2 ) )
      = A2 ) ).

% HF_hfset
thf(fact_95_zero__notin__hpair,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ~ ( hF_Mirabelle_hmem @ ( zero_zero @ hF_Mirabelle_hf ) @ ( hF_Mirabelle_hpair @ X2 @ Y2 ) ) ).

% zero_notin_hpair
thf(fact_96_Abs__hf__0,axiom,
    ( ( hF_Mirabelle_Abs_hf @ ( zero_zero @ nat ) )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% Abs_hf_0
thf(fact_97_hfset__0,axiom,
    ( ( hF_Mirabelle_hfset @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( bot_bot @ ( set @ hF_Mirabelle_hf ) ) ) ).

% hfset_0
thf(fact_98_hpair__iff,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,A7: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hpair @ A2 @ B )
        = ( hF_Mirabelle_hpair @ A7 @ B6 ) )
      = ( ( A2 = A7 )
        & ( B = B6 ) ) ) ).

% hpair_iff
thf(fact_99_inf__bot__right,axiom,
    ! [A: $tType] :
      ( ( bounded_lattice_bot @ A )
     => ! [X2: A] :
          ( ( inf_inf @ A @ X2 @ ( bot_bot @ A ) )
          = ( bot_bot @ A ) ) ) ).

% inf_bot_right
thf(fact_100_inf__bot__left,axiom,
    ! [A: $tType] :
      ( ( bounded_lattice_bot @ A )
     => ! [X2: A] :
          ( ( inf_inf @ A @ ( bot_bot @ A ) @ X2 )
          = ( bot_bot @ A ) ) ) ).

% inf_bot_left
thf(fact_101_hmem__hinsert,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,C: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ A2 @ ( hF_Mirabelle_hinsert @ B @ C ) )
      = ( ( A2 = B )
        | ( hF_Mirabelle_hmem @ A2 @ C ) ) ) ).

% hmem_hinsert
thf(fact_102_singleton__eq__iff,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hinsert @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) )
        = ( hF_Mirabelle_hinsert @ B @ ( zero_zero @ hF_Mirabelle_hf ) ) )
      = ( A2 = B ) ) ).

% singleton_eq_iff
thf(fact_103_RepFun__hinsert,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,F: hF_Mirabelle_hf > hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_RepFun @ ( hF_Mirabelle_hinsert @ A2 @ B ) @ F )
      = ( hF_Mirabelle_hinsert @ ( F @ A2 ) @ ( hF_Mirabelle_RepFun @ B @ F ) ) ) ).

% RepFun_hinsert
thf(fact_104_hpair__def,axiom,
    ( hF_Mirabelle_hpair
    = ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( zero_zero @ hF_Mirabelle_hf ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).

% hpair_def
thf(fact_105_hpair__def_H,axiom,
    ( hF_Mirabelle_hpair
    = ( ^ [A4: hF_Mirabelle_hf,B2: hF_Mirabelle_hf] : ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ A4 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( hF_Mirabelle_hinsert @ ( hF_Mirabelle_hinsert @ A4 @ ( hF_Mirabelle_hinsert @ B2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ) ).

% hpair_def'
thf(fact_106_Zero__hf__def,axiom,
    ( ( zero_zero @ hF_Mirabelle_hf )
    = ( hF_Mirabelle_HF @ ( bot_bot @ ( set @ hF_Mirabelle_hf ) ) ) ) ).

% Zero_hf_def
thf(fact_107_hpair__neq__snd,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ A2 @ B )
     != B ) ).

% hpair_neq_snd
thf(fact_108_hpair__neq__fst,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ A2 @ B )
     != A2 ) ).

% hpair_neq_fst
thf(fact_109_hpair__inject,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,A7: hF_Mirabelle_hf,B6: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hpair @ A2 @ B )
        = ( hF_Mirabelle_hpair @ A7 @ B6 ) )
     => ~ ( ( A2 = A7 )
         => ( B != B6 ) ) ) ).

% hpair_inject
thf(fact_110_hinsert__commute,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf,Z4: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hinsert @ X2 @ ( hF_Mirabelle_hinsert @ Y2 @ Z4 ) )
      = ( hF_Mirabelle_hinsert @ Y2 @ ( hF_Mirabelle_hinsert @ X2 @ Z4 ) ) ) ).

% hinsert_commute
thf(fact_111_hinsert__iff,axiom,
    ! [Z4: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf,X2: hF_Mirabelle_hf] :
      ( ( Z4
        = ( hF_Mirabelle_hinsert @ Y2 @ X2 ) )
      = ( ! [U2: hF_Mirabelle_hf] :
            ( ( hF_Mirabelle_hmem @ U2 @ Z4 )
            = ( ( hF_Mirabelle_hmem @ U2 @ X2 )
              | ( U2 = Y2 ) ) ) ) ) ).

% hinsert_iff
thf(fact_112_hinsert__nonempty,axiom,
    ! [A2: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hinsert @ A2 @ A3 )
     != ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hinsert_nonempty
thf(fact_113_HF__Mirabelle__fsbjehakzm_Odoubleton__eq__iff,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf,C: hF_Mirabelle_hf,D: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hinsert @ A2 @ ( hF_Mirabelle_hinsert @ B @ ( zero_zero @ hF_Mirabelle_hf ) ) )
        = ( hF_Mirabelle_hinsert @ C @ ( hF_Mirabelle_hinsert @ D @ ( zero_zero @ hF_Mirabelle_hf ) ) ) )
      = ( ( ( A2 = C )
          & ( B = D ) )
        | ( ( A2 = D )
          & ( B = C ) ) ) ) ).

% HF_Mirabelle_fsbjehakzm.doubleton_eq_iff
thf(fact_114_hf__induct__ax,axiom,
    ! [P: hF_Mirabelle_hf > $o,X2: hF_Mirabelle_hf] :
      ( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ! [X: hF_Mirabelle_hf] :
            ( ( P @ X )
           => ! [Y4: hF_Mirabelle_hf] :
                ( ( P @ Y4 )
               => ( P @ ( hF_Mirabelle_hinsert @ Y4 @ X ) ) ) )
       => ( P @ X2 ) ) ) ).

% hf_induct_ax
thf(fact_115_hpair__nonzero,axiom,
    ! [X2: hF_Mirabelle_hf,Y2: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hpair @ X2 @ Y2 )
     != ( zero_zero @ hF_Mirabelle_hf ) ) ).

% hpair_nonzero
thf(fact_116_hf__cases,axiom,
    ! [Y2: hF_Mirabelle_hf] :
      ( ( Y2
       != ( zero_zero @ hF_Mirabelle_hf ) )
     => ~ ! [A8: hF_Mirabelle_hf,B7: hF_Mirabelle_hf] :
            ( ( Y2
              = ( hF_Mirabelle_hinsert @ A8 @ B7 ) )
           => ( hF_Mirabelle_hmem @ A8 @ B7 ) ) ) ).

% hf_cases
thf(fact_117_hf__induct,axiom,
    ! [P: hF_Mirabelle_hf > $o,Z4: hF_Mirabelle_hf] :
      ( ( P @ ( zero_zero @ hF_Mirabelle_hf ) )
     => ( ! [X: hF_Mirabelle_hf,Y4: hF_Mirabelle_hf] :
            ( ( P @ X )
           => ( ( P @ Y4 )
             => ( ~ ( hF_Mirabelle_hmem @ X @ Y4 )
               => ( P @ ( hF_Mirabelle_hinsert @ X @ Y4 ) ) ) ) )
       => ( P @ Z4 ) ) ) ).

% hf_induct
thf(fact_118_hinter__hinsert__right,axiom,
    ! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ B3 @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) )
          = ( hF_Mirabelle_hinsert @ X2 @ ( inf_inf @ hF_Mirabelle_hf @ B3 @ A3 ) ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ B3 @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) )
          = ( inf_inf @ hF_Mirabelle_hf @ B3 @ A3 ) ) ) ) ).

% hinter_hinsert_right
thf(fact_119_hinter__hinsert__left,axiom,
    ! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
          = ( hF_Mirabelle_hinsert @ X2 @ ( inf_inf @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( inf_inf @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
          = ( inf_inf @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) ) ).

% hinter_hinsert_left
thf(fact_120_hinsert__hdiff__if,axiom,
    ! [X2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf,A3: hF_Mirabelle_hf] :
      ( ( ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( minus_minus @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
          = ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) ) )
      & ( ~ ( hF_Mirabelle_hmem @ X2 @ B3 )
       => ( ( minus_minus @ hF_Mirabelle_hf @ ( hF_Mirabelle_hinsert @ X2 @ A3 ) @ B3 )
          = ( hF_Mirabelle_hinsert @ X2 @ ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) ) ) ) ) ).

% hinsert_hdiff_if
thf(fact_121_hdiff__insert,axiom,
    ! [A3: hF_Mirabelle_hf,A2: hF_Mirabelle_hf,B3: hF_Mirabelle_hf] :
      ( ( minus_minus @ hF_Mirabelle_hf @ A3 @ ( hF_Mirabelle_hinsert @ A2 @ B3 ) )
      = ( minus_minus @ hF_Mirabelle_hf @ ( minus_minus @ hF_Mirabelle_hf @ A3 @ B3 ) @ ( hF_Mirabelle_hinsert @ A2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) ).

% hdiff_insert
thf(fact_122_hsplit,axiom,
    ! [A: $tType,C: hF_Mirabelle_hf > hF_Mirabelle_hf > A,A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hsplit @ A @ C @ ( hF_Mirabelle_hpair @ A2 @ B ) )
      = ( C @ A2 @ B ) ) ).

% hsplit
thf(fact_123_Diff__disjoint,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ B3 @ A3 ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Diff_disjoint
thf(fact_124_Diff__cancel,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ A3 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Diff_cancel
thf(fact_125_empty__Diff,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A3 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% empty_Diff
thf(fact_126_Diff__empty,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) )
      = A3 ) ).

% Diff_empty
thf(fact_127_empty__iff,axiom,
    ! [A: $tType,C: A] :
      ~ ( member @ A @ C @ ( bot_bot @ ( set @ A ) ) ) ).

% empty_iff
thf(fact_128_all__not__in__conv,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( ! [X3: A] :
            ~ ( member @ A @ X3 @ A3 ) )
      = ( A3
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% all_not_in_conv
thf(fact_129_Collect__empty__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X3: A] :
            ~ ( P @ X3 ) ) ) ).

% Collect_empty_eq
thf(fact_130_empty__Collect__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( bot_bot @ ( set @ A ) )
        = ( collect @ A @ P ) )
      = ( ! [X3: A] :
            ~ ( P @ X3 ) ) ) ).

% empty_Collect_eq
thf(fact_131_Int__iff,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
      = ( ( member @ A @ C @ A3 )
        & ( member @ A @ C @ B3 ) ) ) ).

% Int_iff
thf(fact_132_IntI,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ A3 )
     => ( ( member @ A @ C @ B3 )
       => ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ) ) ).

% IntI
thf(fact_133_DiffI,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ A3 )
     => ( ~ ( member @ A @ C @ B3 )
       => ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ) ) ).

% DiffI
thf(fact_134_Diff__iff,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
      = ( ( member @ A @ C @ A3 )
        & ~ ( member @ A @ C @ B3 ) ) ) ).

% Diff_iff
thf(fact_135_Diff__idemp,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ B3 )
      = ( minus_minus @ ( set @ A ) @ A3 @ B3 ) ) ).

% Diff_idemp
thf(fact_136_Int__left__commute,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) )
      = ( inf_inf @ ( set @ A ) @ B3 @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) ) ) ).

% Int_left_commute
thf(fact_137_Int__left__absorb,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
      = ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ).

% Int_left_absorb
thf(fact_138_Collect__conj__eq,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( collect @ A
        @ ^ [X3: A] :
            ( ( P @ X3 )
            & ( Q @ X3 ) ) )
      = ( inf_inf @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).

% Collect_conj_eq
thf(fact_139_inf__set__def,axiom,
    ! [A: $tType] :
      ( ( inf_inf @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ( inf_inf @ ( A > $o )
              @ ^ [X3: A] : ( member @ A @ X3 @ A5 )
              @ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ) ).

% inf_set_def
thf(fact_140_Int__commute,axiom,
    ! [A: $tType] :
      ( ( inf_inf @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] : ( inf_inf @ ( set @ A ) @ B4 @ A5 ) ) ) ).

% Int_commute
thf(fact_141_Int__Collect,axiom,
    ! [A: $tType,X2: A,A3: set @ A,P: A > $o] :
      ( ( member @ A @ X2 @ ( inf_inf @ ( set @ A ) @ A3 @ ( collect @ A @ P ) ) )
      = ( ( member @ A @ X2 @ A3 )
        & ( P @ X2 ) ) ) ).

% Int_Collect
thf(fact_142_Int__absorb,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A3 @ A3 )
      = A3 ) ).

% Int_absorb
thf(fact_143_Int__assoc,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) @ C3 )
      = ( inf_inf @ ( set @ A ) @ A3 @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) ) ) ).

% Int_assoc
thf(fact_144_Int__def,axiom,
    ! [A: $tType] :
      ( ( inf_inf @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ^ [X3: A] :
                ( ( member @ A @ X3 @ A5 )
                & ( member @ A @ X3 @ B4 ) ) ) ) ) ).

% Int_def
thf(fact_145_IntD2,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
     => ( member @ A @ C @ B3 ) ) ).

% IntD2
thf(fact_146_IntD1,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
     => ( member @ A @ C @ A3 ) ) ).

% IntD1
thf(fact_147_IntE,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) )
     => ~ ( ( member @ A @ C @ A3 )
         => ~ ( member @ A @ C @ B3 ) ) ) ).

% IntE
thf(fact_148_bot__set__def,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( set @ A ) )
      = ( collect @ A @ ( bot_bot @ ( A > $o ) ) ) ) ).

% bot_set_def
thf(fact_149_bot__hf__def,axiom,
    ( ( bot_bot @ hF_Mirabelle_hf )
    = ( zero_zero @ hF_Mirabelle_hf ) ) ).

% bot_hf_def
thf(fact_150_emptyE,axiom,
    ! [A: $tType,A2: A] :
      ~ ( member @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ).

% emptyE
thf(fact_151_equals0D,axiom,
    ! [A: $tType,A3: set @ A,A2: A] :
      ( ( A3
        = ( bot_bot @ ( set @ A ) ) )
     => ~ ( member @ A @ A2 @ A3 ) ) ).

% equals0D
thf(fact_152_equals0I,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ! [Y4: A] :
          ~ ( member @ A @ Y4 @ A3 )
     => ( A3
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% equals0I
thf(fact_153_ex__in__conv,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( ? [X3: A] : ( member @ A @ X3 @ A3 ) )
      = ( A3
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% ex_in_conv
thf(fact_154_Int__emptyI,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ! [X: A] :
          ( ( member @ A @ X @ A3 )
         => ~ ( member @ A @ X @ B3 ) )
     => ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% Int_emptyI
thf(fact_155_disjoint__iff,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X3: A] :
            ( ( member @ A @ X3 @ A3 )
           => ~ ( member @ A @ X3 @ B3 ) ) ) ) ).

% disjoint_iff
thf(fact_156_Int__empty__left,axiom,
    ! [A: $tType,B3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ B3 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Int_empty_left
thf(fact_157_Int__empty__right,axiom,
    ! [A: $tType,A3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Int_empty_right
thf(fact_158_disjoint__iff__not__equal,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X3: A] :
            ( ( member @ A @ X3 @ A3 )
           => ! [Y3: A] :
                ( ( member @ A @ Y3 @ B3 )
               => ( X3 != Y3 ) ) ) ) ) ).

% disjoint_iff_not_equal
thf(fact_159_DiffE,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ~ ( ( member @ A @ C @ A3 )
         => ( member @ A @ C @ B3 ) ) ) ).

% DiffE
thf(fact_160_DiffD1,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ( member @ A @ C @ A3 ) ) ).

% DiffD1
thf(fact_161_DiffD2,axiom,
    ! [A: $tType,C: A,A3: set @ A,B3: set @ A] :
      ( ( member @ A @ C @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
     => ~ ( member @ A @ C @ B3 ) ) ).

% DiffD2
thf(fact_162_Int__Diff,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ B3 ) @ C3 )
      = ( inf_inf @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ B3 @ C3 ) ) ) ).

% Int_Diff
thf(fact_163_Diff__Int2,axiom,
    ! [A: $tType,A3: set @ A,C3: set @ A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) )
      = ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ B3 ) ) ).

% Diff_Int2
thf(fact_164_Diff__Diff__Int,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( minus_minus @ ( set @ A ) @ A3 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
      = ( inf_inf @ ( set @ A ) @ A3 @ B3 ) ) ).

% Diff_Diff_Int
thf(fact_165_Diff__Int__distrib,axiom,
    ! [A: $tType,C3: set @ A,A3: set @ A,B3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ C3 @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) )
      = ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ C3 @ A3 ) @ ( inf_inf @ ( set @ A ) @ C3 @ B3 ) ) ) ).

% Diff_Int_distrib
thf(fact_166_Diff__Int__distrib2,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
      ( ( inf_inf @ ( set @ A ) @ ( minus_minus @ ( set @ A ) @ A3 @ B3 ) @ C3 )
      = ( minus_minus @ ( set @ A ) @ ( inf_inf @ ( set @ A ) @ A3 @ C3 ) @ ( inf_inf @ ( set @ A ) @ B3 @ C3 ) ) ) ).

% Diff_Int_distrib2
thf(fact_167_empty__def,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( set @ A ) )
      = ( collect @ A
        @ ^ [X3: A] : $false ) ) ).

% empty_def
thf(fact_168_set__diff__eq,axiom,
    ! [A: $tType] :
      ( ( minus_minus @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ^ [X3: A] :
                ( ( member @ A @ X3 @ A5 )
                & ~ ( member @ A @ X3 @ B4 ) ) ) ) ) ).

% set_diff_eq
thf(fact_169_minus__set__def,axiom,
    ! [A: $tType] :
      ( ( minus_minus @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( collect @ A
            @ ( minus_minus @ ( A > $o )
              @ ^ [X3: A] : ( member @ A @ X3 @ A5 )
              @ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ) ).

% minus_set_def
thf(fact_170_Diff__triv,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( ( inf_inf @ ( set @ A ) @ A3 @ B3 )
        = ( bot_bot @ ( set @ A ) ) )
     => ( ( minus_minus @ ( set @ A ) @ A3 @ B3 )
        = A3 ) ) ).

% Diff_triv
thf(fact_171_hfst__conv,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hfst @ ( hF_Mirabelle_hpair @ A2 @ B ) )
      = A2 ) ).

% hfst_conv
thf(fact_172_hsnd__conv,axiom,
    ! [A2: hF_Mirabelle_hf,B: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hsnd @ ( hF_Mirabelle_hpair @ A2 @ B ) )
      = B ) ).

% hsnd_conv
thf(fact_173_the__equality,axiom,
    ! [A: $tType,P: A > $o,A2: A] :
      ( ( P @ A2 )
     => ( ! [X: A] :
            ( ( P @ X )
           => ( X = A2 ) )
       => ( ( the @ A @ P )
          = A2 ) ) ) ).

% the_equality
thf(fact_174_the__eq__trivial,axiom,
    ! [A: $tType,A2: A] :
      ( ( the @ A
        @ ^ [X3: A] : X3 = A2 )
      = A2 ) ).

% the_eq_trivial
thf(fact_175_inf1I,axiom,
    ! [A: $tType,A3: A > $o,X2: A,B3: A > $o] :
      ( ( A3 @ X2 )
     => ( ( B3 @ X2 )
       => ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 ) ) ) ).

% inf1I
thf(fact_176_the__sym__eq__trivial,axiom,
    ! [A: $tType,X2: A] :
      ( ( the @ A
        @ ( ^ [Y: A,Z: A] : Y = Z
          @ X2 ) )
      = X2 ) ).

% the_sym_eq_trivial
thf(fact_177_inf1D2,axiom,
    ! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
      ( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
     => ( B3 @ X2 ) ) ).

% inf1D2
thf(fact_178_inf1D1,axiom,
    ! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
      ( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
     => ( A3 @ X2 ) ) ).

% inf1D1
thf(fact_179_inf1E,axiom,
    ! [A: $tType,A3: A > $o,B3: A > $o,X2: A] :
      ( ( inf_inf @ ( A > $o ) @ A3 @ B3 @ X2 )
     => ~ ( ( A3 @ X2 )
         => ~ ( B3 @ X2 ) ) ) ).

% inf1E
thf(fact_180_the1__equality,axiom,
    ! [A: $tType,P: A > $o,A2: A] :
      ( ? [X4: A] :
          ( ( P @ X4 )
          & ! [Y4: A] :
              ( ( P @ Y4 )
             => ( Y4 = X4 ) ) )
     => ( ( P @ A2 )
       => ( ( the @ A @ P )
          = A2 ) ) ) ).

% the1_equality
thf(fact_181_the1I2,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ? [X4: A] :
          ( ( P @ X4 )
          & ! [Y4: A] :
              ( ( P @ Y4 )
             => ( Y4 = X4 ) ) )
     => ( ! [X: A] :
            ( ( P @ X )
           => ( Q @ X ) )
       => ( Q @ ( the @ A @ P ) ) ) ) ).

% the1I2
thf(fact_182_If__def,axiom,
    ! [A: $tType] :
      ( ( if @ A )
      = ( ^ [P2: $o,X3: A,Y3: A] :
            ( the @ A
            @ ^ [Z3: A] :
                ( ( P2
                 => ( Z3 = X3 ) )
                & ( ~ P2
                 => ( Z3 = Y3 ) ) ) ) ) ) ).

% If_def
thf(fact_183_theI2,axiom,
    ! [A: $tType,P: A > $o,A2: A,Q: A > $o] :
      ( ( P @ A2 )
     => ( ! [X: A] :
            ( ( P @ X )
           => ( X = A2 ) )
       => ( ! [X: A] :
              ( ( P @ X )
             => ( Q @ X ) )
         => ( Q @ ( the @ A @ P ) ) ) ) ) ).

% theI2
thf(fact_184_theI_H,axiom,
    ! [A: $tType,P: A > $o] :
      ( ? [X4: A] :
          ( ( P @ X4 )
          & ! [Y4: A] :
              ( ( P @ Y4 )
             => ( Y4 = X4 ) ) )
     => ( P @ ( the @ A @ P ) ) ) ).

% theI'
thf(fact_185_theI,axiom,
    ! [A: $tType,P: A > $o,A2: A] :
      ( ( P @ A2 )
     => ( ! [X: A] :
            ( ( P @ X )
           => ( X = A2 ) )
       => ( P @ ( the @ A @ P ) ) ) ) ).

% theI
thf(fact_186_bot__apply,axiom,
    ! [C2: $tType,D2: $tType] :
      ( ( bot @ C2 )
     => ( ( bot_bot @ ( D2 > C2 ) )
        = ( ^ [X3: D2] : ( bot_bot @ C2 ) ) ) ) ).

% bot_apply
thf(fact_187_inf__Int__eq,axiom,
    ! [A: $tType,R: set @ A,S: set @ A] :
      ( ( inf_inf @ ( A > $o )
        @ ^ [X3: A] : ( member @ A @ X3 @ R )
        @ ^ [X3: A] : ( member @ A @ X3 @ S ) )
      = ( ^ [X3: A] : ( member @ A @ X3 @ ( inf_inf @ ( set @ A ) @ R @ S ) ) ) ) ).

% inf_Int_eq
thf(fact_188_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus @ nat @ M @ M )
      = ( zero_zero @ nat ) ) ).

% diff_self_eq_0
thf(fact_189_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus @ nat @ ( zero_zero @ nat ) @ N )
      = ( zero_zero @ nat ) ) ).

% diff_0_eq_0
thf(fact_190_diff__commute,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J ) @ K )
      = ( minus_minus @ nat @ ( minus_minus @ nat @ I @ K ) @ J ) ) ).

% diff_commute
thf(fact_191_bot__nat__def,axiom,
    ( ( bot_bot @ nat )
    = ( zero_zero @ nat ) ) ).

% bot_nat_def
thf(fact_192_diffs0__imp__equal,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus @ nat @ M @ N )
        = ( zero_zero @ nat ) )
     => ( ( ( minus_minus @ nat @ N @ M )
          = ( zero_zero @ nat ) )
       => ( M = N ) ) ) ).

% diffs0_imp_equal
thf(fact_193_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus @ nat @ M @ ( zero_zero @ nat ) )
      = M ) ).

% minus_nat.diff_0
thf(fact_194_bot__fun__def,axiom,
    ! [B5: $tType,A: $tType] :
      ( ( bot @ B5 )
     => ( ( bot_bot @ ( A > B5 ) )
        = ( ^ [X3: A] : ( bot_bot @ B5 ) ) ) ) ).

% bot_fun_def
thf(fact_195_bot__empty__eq,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( A > $o ) )
      = ( ^ [X3: A] : ( member @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% bot_empty_eq
thf(fact_196_Collect__empty__eq__bot,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( P
        = ( bot_bot @ ( A > $o ) ) ) ) ).

% Collect_empty_eq_bot
thf(fact_197_ord_OLeast__def,axiom,
    ! [A: $tType] :
      ( ( least @ A )
      = ( ^ [Less_eq: A > A > $o,P2: A > $o] :
            ( the @ A
            @ ^ [X3: A] :
                ( ( P2 @ X3 )
                & ! [Y3: A] :
                    ( ( P2 @ Y3 )
                   => ( Less_eq @ X3 @ Y3 ) ) ) ) ) ) ).

% ord.Least_def
thf(fact_198_PrimReplace__def,axiom,
    ( hF_Mir569462966eplace
    = ( ^ [A5: hF_Mirabelle_hf,R2: hF_Mirabelle_hf > hF_Mirabelle_hf > $o] :
          ( the @ hF_Mirabelle_hf
          @ ^ [Z3: hF_Mirabelle_hf] :
            ! [V5: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ V5 @ Z3 )
              = ( ? [U2: hF_Mirabelle_hf] :
                    ( ( hF_Mirabelle_hmem @ U2 @ A5 )
                    & ( R2 @ U2 @ V5 ) ) ) ) ) ) ) ).

% PrimReplace_def
thf(fact_199_hcard__0,axiom,
    ( ( hF_Mirabelle_hcard @ ( zero_zero @ hF_Mirabelle_hf ) )
    = ( zero_zero @ nat ) ) ).

% hcard_0
thf(fact_200_hfst__def,axiom,
    ( hF_Mirabelle_hfst
    = ( ^ [P4: hF_Mirabelle_hf] :
          ( the @ hF_Mirabelle_hf
          @ ^ [X3: hF_Mirabelle_hf] :
            ? [Y3: hF_Mirabelle_hf] :
              ( P4
              = ( hF_Mirabelle_hpair @ X3 @ Y3 ) ) ) ) ) ).

% hfst_def
thf(fact_201_hsnd__def,axiom,
    ( hF_Mirabelle_hsnd
    = ( ^ [P4: hF_Mirabelle_hf] :
          ( the @ hF_Mirabelle_hf
          @ ^ [Y3: hF_Mirabelle_hf] :
            ? [X3: hF_Mirabelle_hf] :
              ( P4
              = ( hF_Mirabelle_hpair @ X3 @ Y3 ) ) ) ) ) ).

% hsnd_def
thf(fact_202_HUnion__def,axiom,
    ( hF_Mirabelle_HUnion
    = ( ^ [A5: hF_Mirabelle_hf] :
          ( the @ hF_Mirabelle_hf
          @ ^ [Z3: hF_Mirabelle_hf] :
            ! [U2: hF_Mirabelle_hf] :
              ( ( hF_Mirabelle_hmem @ U2 @ Z3 )
              = ( ? [Y3: hF_Mirabelle_hf] :
                    ( ( hF_Mirabelle_hmem @ Y3 @ A5 )
                    & ( hF_Mirabelle_hmem @ U2 @ Y3 ) ) ) ) ) ) ) ).

% HUnion_def
thf(fact_203_hcard__hdiff1__less,axiom,
    ! [X2: hF_Mirabelle_hf,Z4: hF_Mirabelle_hf] :
      ( ( hF_Mirabelle_hmem @ X2 @ Z4 )
     => ( ord_less @ nat @ ( hF_Mirabelle_hcard @ ( minus_minus @ hF_Mirabelle_hf @ Z4 @ ( hF_Mirabelle_hinsert @ X2 @ ( zero_zero @ hF_Mirabelle_hf ) ) ) ) @ ( hF_Mirabelle_hcard @ Z4 ) ) ) ).

% hcard_hdiff1_less
thf(fact_204_Set_Ois__empty__def,axiom,
    ! [A: $tType] :
      ( ( is_empty @ A )
      = ( ^ [A5: set @ A] :
            ( A5
            = ( bot_bot @ ( set @ A ) ) ) ) ) ).

% Set.is_empty_def
thf(fact_205_not__gr__zero,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [N: A] :
          ( ( ~ ( ord_less @ A @ ( zero_zero @ A ) @ N ) )
          = ( N
            = ( zero_zero @ A ) ) ) ) ).

% not_gr_zero
thf(fact_206_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A2: nat] :
      ( ( A2
       != ( zero_zero @ nat ) )
      = ( ord_less @ nat @ ( zero_zero @ nat ) @ A2 ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_207_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).

% less_nat_zero_code
thf(fact_208_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N
       != ( zero_zero @ nat ) )
      = ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).

% neq0_conv
thf(fact_209_diff__gt__0__iff__gt,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ! [A2: A,B: A] :
          ( ( ord_less @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A2 @ B ) )
          = ( ord_less @ A @ B @ A2 ) ) ) ).

% diff_gt_0_iff_gt
thf(fact_210_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( minus_minus @ nat @ N @ M ) )
      = ( ord_less @ nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_211_less__imp__diff__less,axiom,
    ! [J: nat,K: nat,N: nat] :
      ( ( ord_less @ nat @ J @ K )
     => ( ord_less @ nat @ ( minus_minus @ nat @ J @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_212_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less @ nat @ M @ N )
     => ( ( ord_less @ nat @ M @ L )
       => ( ord_less @ nat @ ( minus_minus @ nat @ L @ N ) @ ( minus_minus @ nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_213_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N )
     => ( ( ord_less @ nat @ ( zero_zero @ nat ) @ M )
       => ( ord_less @ nat @ ( minus_minus @ nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_214_diff__strict__right__mono,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ! [A2: A,B: A,C: A] :
          ( ( ord_less @ A @ A2 @ B )
         => ( ord_less @ A @ ( minus_minus @ A @ A2 @ C ) @ ( minus_minus @ A @ B @ C ) ) ) ) ).

% diff_strict_right_mono
thf(fact_215_diff__strict__left__mono,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ! [B: A,A2: A,C: A] :
          ( ( ord_less @ A @ B @ A2 )
         => ( ord_less @ A @ ( minus_minus @ A @ C @ A2 ) @ ( minus_minus @ A @ C @ B ) ) ) ) ).

% diff_strict_left_mono
thf(fact_216_diff__eq__diff__less,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ! [A2: A,B: A,C: A,D: A] :
          ( ( ( minus_minus @ A @ A2 @ B )
            = ( minus_minus @ A @ C @ D ) )
         => ( ( ord_less @ A @ A2 @ B )
            = ( ord_less @ A @ C @ D ) ) ) ) ).

% diff_eq_diff_less
thf(fact_217_diff__strict__mono,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ! [A2: A,B: A,D: A,C: A] :
          ( ( ord_less @ A @ A2 @ B )
         => ( ( ord_less @ A @ D @ C )
           => ( ord_less @ A @ ( minus_minus @ A @ A2 @ C ) @ ( minus_minus @ A @ B @ D ) ) ) ) ) ).

% diff_strict_mono
thf(fact_218_infinite__descent0__measure,axiom,
    ! [A: $tType,V6: A > nat,P: A > $o,X2: A] :
      ( ! [X: A] :
          ( ( ( V6 @ X )
            = ( zero_zero @ nat ) )
         => ( P @ X ) )
     => ( ! [X: A] :
            ( ( ord_less @ nat @ ( zero_zero @ nat ) @ ( V6 @ X ) )
           => ( ~ ( P @ X )
             => ? [Y5: A] :
                  ( ( ord_less @ nat @ ( V6 @ Y5 ) @ ( V6 @ X ) )
                  & ~ ( P @ Y5 ) ) ) )
       => ( P @ X2 ) ) ) ).

% infinite_descent0_measure
thf(fact_219_bot__nat__0_Oextremum__strict,axiom,
    ! [A2: nat] :
      ~ ( ord_less @ nat @ A2 @ ( zero_zero @ nat ) ) ).

% bot_nat_0.extremum_strict
thf(fact_220_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ ( zero_zero @ nat ) )
     => ( ! [N2: nat] :
            ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
           => ( ~ ( P @ N2 )
             => ? [M2: nat] :
                  ( ( ord_less @ nat @ M2 @ N2 )
                  & ~ ( P @ M2 ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_221_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less @ nat @ M @ N )
     => ( N
       != ( zero_zero @ nat ) ) ) ).

% gr_implies_not0
thf(fact_222_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).

% less_zeroE
thf(fact_223_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less @ nat @ N @ ( zero_zero @ nat ) ) ).

% not_less0
thf(fact_224_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) )
      = ( N
        = ( zero_zero @ nat ) ) ) ).

% not_gr0
thf(fact_225_gr0I,axiom,
    ! [N: nat] :
      ( ( N
       != ( zero_zero @ nat ) )
     => ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ).

% gr0I
thf(fact_226_less__iff__diff__less__0,axiom,
    ! [A: $tType] :
      ( ( ordered_ab_group_add @ A )
     => ( ( ord_less @ A )
        = ( ^ [A4: A,B2: A] : ( ord_less @ A @ ( minus_minus @ A @ A4 @ B2 ) @ ( zero_zero @ A ) ) ) ) ) ).

% less_iff_diff_less_0
thf(fact_227_zero__less__iff__neq__zero,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [N: A] :
          ( ( ord_less @ A @ ( zero_zero @ A ) @ N )
          = ( N
           != ( zero_zero @ A ) ) ) ) ).

% zero_less_iff_neq_zero
thf(fact_228_gr__implies__not__zero,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [M: A,N: A] :
          ( ( ord_less @ A @ M @ N )
         => ( N
           != ( zero_zero @ A ) ) ) ) ).

% gr_implies_not_zero
thf(fact_229_not__less__zero,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [N: A] :
          ~ ( ord_less @ A @ N @ ( zero_zero @ A ) ) ) ).

% not_less_zero
thf(fact_230_gr__zeroI,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [N: A] :
          ( ( N
           != ( zero_zero @ A ) )
         => ( ord_less @ A @ ( zero_zero @ A ) @ N ) ) ) ).

% gr_zeroI
thf(fact_231_less__infI1,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,X2: A,B: A] :
          ( ( ord_less @ A @ A2 @ X2 )
         => ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ X2 ) ) ) ).

% less_infI1
thf(fact_232_less__infI2,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B: A,X2: A,A2: A] :
          ( ( ord_less @ A @ B @ X2 )
         => ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ X2 ) ) ) ).

% less_infI2
thf(fact_233_inf_Ostrict__boundedE,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,B: A,C: A] :
          ( ( ord_less @ A @ A2 @ ( inf_inf @ A @ B @ C ) )
         => ~ ( ( ord_less @ A @ A2 @ B )
             => ~ ( ord_less @ A @ A2 @ C ) ) ) ) ).

% inf.strict_boundedE
thf(fact_234_inf_Ostrict__order__iff,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ( ( ord_less @ A )
        = ( ^ [A4: A,B2: A] :
              ( ( A4
                = ( inf_inf @ A @ A4 @ B2 ) )
              & ( A4 != B2 ) ) ) ) ) ).

% inf.strict_order_iff
thf(fact_235_inf_Ostrict__coboundedI1,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A2: A,C: A,B: A] :
          ( ( ord_less @ A @ A2 @ C )
         => ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ C ) ) ) ).

% inf.strict_coboundedI1
thf(fact_236_inf_Ostrict__coboundedI2,axiom,
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [B: A,C: A,A2: A] :
          ( ( ord_less @ A @ B @ C )
         => ( ord_less @ A @ ( inf_inf @ A @ A2 @ B ) @ C ) ) ) ).

% inf.strict_coboundedI2
thf(fact_237_bot_Oextremum__strict,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ~ ( ord_less @ A @ A2 @ ( bot_bot @ A ) ) ) ).

% bot.extremum_strict
thf(fact_238_bot_Onot__eq__extremum,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ( ( A2
           != ( bot_bot @ A ) )
          = ( ord_less @ A @ ( bot_bot @ A ) @ A2 ) ) ) ).

% bot.not_eq_extremum
thf(fact_239_less__numeral__extra_I3_J,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ~ ( ord_less @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).

% less_numeral_extra(3)
thf(fact_240_of__nat__0__less__iff,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ! [N: nat] :
          ( ( ord_less @ A @ ( zero_zero @ A ) @ ( semiring_1_of_nat @ A @ N ) )
          = ( ord_less @ nat @ ( zero_zero @ nat ) @ N ) ) ) ).

% of_nat_0_less_iff
thf(fact_241_of__nat__0,axiom,
    ! [A: $tType] :
      ( ( semiring_1 @ A )
     => ( ( semiring_1_of_nat @ A @ ( zero_zero @ nat ) )
        = ( zero_zero @ A ) ) ) ).

% of_nat_0
thf(fact_242_of__nat__0__eq__iff,axiom,
    ! [A: $tType] :
      ( ( semiring_char_0 @ A )
     => ! [N: nat] :
          ( ( ( zero_zero @ A )
            = ( semiring_1_of_nat @ A @ N ) )
          = ( ( zero_zero @ nat )
            = N ) ) ) ).

% of_nat_0_eq_iff
thf(fact_243_of__nat__eq__0__iff,axiom,
    ! [A: $tType] :
      ( ( semiring_char_0 @ A )
     => ! [M: nat] :
          ( ( ( semiring_1_of_nat @ A @ M )
            = ( zero_zero @ A ) )
          = ( M
            = ( zero_zero @ nat ) ) ) ) ).

% of_nat_eq_0_iff
thf(fact_244_psubset__imp__ex__mem,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A] :
      ( ( ord_less @ ( set @ A ) @ A3 @ B3 )
     => ? [B7: A] : ( member @ A @ B7 @ ( minus_minus @ ( set @ A ) @ B3 @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_245_of__nat__less__0__iff,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ! [M: nat] :
          ~ ( ord_less @ A @ ( semiring_1_of_nat @ A @ M ) @ ( zero_zero @ A ) ) ) ).

% of_nat_less_0_iff
thf(fact_246_not__psubset__empty,axiom,
    ! [A: $tType,A3: set @ A] :
      ~ ( ord_less @ ( set @ A ) @ A3 @ ( bot_bot @ ( set @ A ) ) ) ).

% not_psubset_empty
thf(fact_247_pos__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less @ int @ ( zero_zero @ int ) @ K )
     => ~ ! [N2: nat] :
            ( ( K
              = ( semiring_1_of_nat @ int @ N2 ) )
           => ~ ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 ) ) ) ).

% pos_int_cases
thf(fact_248_zero__less__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less @ int @ ( zero_zero @ int ) @ K )
     => ? [N2: nat] :
          ( ( ord_less @ nat @ ( zero_zero @ nat ) @ N2 )
          & ( K
            = ( semiring_1_of_nat @ int @ N2 ) ) ) ) ).

% zero_less_imp_eq_int
thf(fact_249_psubsetD,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C: A] :
      ( ( ord_less @ ( set @ A ) @ A3 @ B3 )
     => ( ( member @ A @ C @ A3 )
       => ( member @ A @ C @ B3 ) ) ) ).

% psubsetD
thf(fact_250_less__set__def,axiom,
    ! [A: $tType] :
      ( ( ord_less @ ( set @ A ) )
      = ( ^ [A5: set @ A,B4: set @ A] :
            ( ord_less @ ( A > $o )
            @ ^ [X3: A] : ( member @ A @ X3 @ A5 )
            @ ^ [X3: A] : ( member @ A @ X3 @ B4 ) ) ) ) ).

% less_set_def
thf(fact_251_psubset__trans,axiom,
    ! [A: $tType,A3: set @ A,B3: set @ A,C3: set @ A] :
      ( ( ord_less @ ( set @ A ) @ A3 @ B3 )
     => ( ( ord_less @ ( set @ A ) @ B3 @ C3 )
       => ( ord_less @ ( set @ A ) @ A3 @ C3 ) ) ) ).

% psubset_trans
thf(fact_252_int__diff__cases,axiom,
    ! [Z4: int] :
      ~ ! [M3: nat,N2: nat] :
          ( Z4
         != ( minus_minus @ int @ ( semiring_1_of_nat @ int @ M3 ) @ ( semiring_1_of_nat @ int @ N2 ) ) ) ).

% int_diff_cases
thf(fact_253_minus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( minus_minus @ int @ K @ ( zero_zero @ int ) )
      = K ) ).

% minus_int_code(1)

% Type constructors (52)
thf(tcon_HOL_Obool___Lattices_Obounded__lattice,axiom,
    bounded_lattice @ $o ).

thf(tcon_Set_Oset___Lattices_Obounded__lattice_1,axiom,
    ! [A9: $tType] : ( bounded_lattice @ ( set @ A9 ) ) ).

thf(tcon_fun___Lattices_Obounded__lattice_2,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( bounded_lattice @ A10 )
     => ( bounded_lattice @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Lattices_Obounded__lattice__bot,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( bounded_lattice @ A10 )
     => ( bounded_lattice_bot @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Lattices_Osemilattice__inf,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( semilattice_inf @ A10 )
     => ( semilattice_inf @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Orderings_Oorder__bot,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( order_bot @ A10 )
     => ( order_bot @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Lattices_Olattice,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( lattice @ A10 )
     => ( lattice @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Orderings_Obot,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( bot @ A10 )
     => ( bot @ ( A9 > A10 ) ) ) ).

thf(tcon_fun___Groups_Ominus,axiom,
    ! [A9: $tType,A10: $tType] :
      ( ( minus @ A10 )
     => ( minus @ ( A9 > A10 ) ) ) ).

thf(tcon_Int_Oint___Rings_Olinordered__nonzero__semiring,axiom,
    linord1659791738miring @ int ).

thf(tcon_Int_Oint___Groups_Ocancel__ab__semigroup__add,axiom,
    cancel146912293up_add @ int ).

thf(tcon_Int_Oint___Groups_Ocancel__comm__monoid__add,axiom,
    cancel1352612707id_add @ int ).

thf(tcon_Int_Oint___Groups_Oordered__ab__group__add,axiom,
    ordered_ab_group_add @ int ).

thf(tcon_Int_Oint___Lattices_Osemilattice__inf_3,axiom,
    semilattice_inf @ int ).

thf(tcon_Int_Oint___Nat_Osemiring__char__0,axiom,
    semiring_char_0 @ int ).

thf(tcon_Int_Oint___Rings_Osemiring__1,axiom,
    semiring_1 @ int ).

thf(tcon_Int_Oint___Lattices_Olattice_4,axiom,
    lattice @ int ).

thf(tcon_Int_Oint___Groups_Ogroup__add,axiom,
    group_add @ int ).

thf(tcon_Int_Oint___Groups_Ominus_5,axiom,
    minus @ int ).

thf(tcon_Int_Oint___Groups_Ozero,axiom,
    zero @ int ).

thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
    canoni770627133id_add @ nat ).

thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring_6,axiom,
    linord1659791738miring @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add_7,axiom,
    cancel146912293up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add_8,axiom,
    cancel1352612707id_add @ nat ).

thf(tcon_Nat_Onat___Lattices_Osemilattice__inf_9,axiom,
    semilattice_inf @ nat ).

thf(tcon_Nat_Onat___Groups_Ocomm__monoid__diff,axiom,
    comm_monoid_diff @ nat ).

thf(tcon_Nat_Onat___Orderings_Oorder__bot_10,axiom,
    order_bot @ nat ).

thf(tcon_Nat_Onat___Nat_Osemiring__char__0_11,axiom,
    semiring_char_0 @ nat ).

thf(tcon_Nat_Onat___Rings_Osemiring__1_12,axiom,
    semiring_1 @ nat ).

thf(tcon_Nat_Onat___Lattices_Olattice_13,axiom,
    lattice @ nat ).

thf(tcon_Nat_Onat___Orderings_Obot_14,axiom,
    bot @ nat ).

thf(tcon_Nat_Onat___Groups_Ominus_15,axiom,
    minus @ nat ).

thf(tcon_Nat_Onat___Groups_Ozero_16,axiom,
    zero @ nat ).

thf(tcon_Set_Oset___Lattices_Obounded__lattice__bot_17,axiom,
    ! [A9: $tType] : ( bounded_lattice_bot @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Lattices_Osemilattice__inf_18,axiom,
    ! [A9: $tType] : ( semilattice_inf @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Orderings_Oorder__bot_19,axiom,
    ! [A9: $tType] : ( order_bot @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Lattices_Olattice_20,axiom,
    ! [A9: $tType] : ( lattice @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Orderings_Obot_21,axiom,
    ! [A9: $tType] : ( bot @ ( set @ A9 ) ) ).

thf(tcon_Set_Oset___Groups_Ominus_22,axiom,
    ! [A9: $tType] : ( minus @ ( set @ A9 ) ) ).

thf(tcon_HOL_Obool___Lattices_Obounded__lattice__bot_23,axiom,
    bounded_lattice_bot @ $o ).

thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_24,axiom,
    semilattice_inf @ $o ).

thf(tcon_HOL_Obool___Orderings_Oorder__bot_25,axiom,
    order_bot @ $o ).

thf(tcon_HOL_Obool___Lattices_Olattice_26,axiom,
    lattice @ $o ).

thf(tcon_HOL_Obool___Orderings_Obot_27,axiom,
    bot @ $o ).

thf(tcon_HOL_Obool___Groups_Ominus_28,axiom,
    minus @ $o ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Obounded__lattice__bot_29,axiom,
    bounded_lattice_bot @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Osemilattice__inf_30,axiom,
    semilattice_inf @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Orderings_Oorder__bot_31,axiom,
    order_bot @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Lattices_Olattice_32,axiom,
    lattice @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Orderings_Obot_33,axiom,
    bot @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ominus_34,axiom,
    minus @ hF_Mirabelle_hf ).

thf(tcon_HF__Mirabelle__fsbjehakzm_Ohf___Groups_Ozero_35,axiom,
    zero @ hF_Mirabelle_hf ).

% Helper facts (3)
thf(help_If_3_1_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_T,axiom,
    ! [A: $tType,X2: A,Y2: A] :
      ( ( if @ A @ $false @ X2 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_T,axiom,
    ! [A: $tType,X2: A,Y2: A] :
      ( ( if @ A @ $true @ X2 @ Y2 )
      = X2 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( hF_Mirabelle_HBex @ a
      @ ^ [X3: hF_Mirabelle_hf] : p )
    = ( ? [X3: hF_Mirabelle_hf] : ( hF_Mirabelle_hmem @ X3 @ a )
      & p ) ) ).

%------------------------------------------------------------------------------